package com.solution.admin.settings.dao;

import java.util.List;
import java.util.Map;

import com.solution.admin.settings.entity.SortEntity;
import com.solution.common.dao.BaseDao;

/**
 * 排序DAO接口
 * @author: solin
 * @date: 2017年9月18日 下午7:19:36
 */
public interface SortDao extends BaseDao<SortEntity>{
	
	/**
	 * 获取数据列表
	 * @param sortEntity
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:42
	 */
	List<SortEntity> getList(SortEntity sortEntity);
	
	/**
	 * 获取排序第一个的数据
	 * @param sortEntity
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:45
	 */
	SortEntity getFirstSortNo(SortEntity sortEntity);
	
	/**
	 * 获取当前序号数据
	 * @param mapParam
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:48
	 */
	SortEntity getCurrentById(Map<String, Object> mapParam);
	
	/**
	 * 获取当前序号的上一个数据
	 * @param sortEntity
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:48
	 */
	SortEntity getPreviousBySortNo(SortEntity sortEntity);
	
	/**
	 * 获取当前序号的下一个数据
	 * @param sortEntity
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:52
	 */
	SortEntity getNextBySortNo(SortEntity sortEntity);
	
	/**
	 * 获得表中最大的排序号
	 * @param tableName
	 * @return
	 * @author: solin
	 * @date: 2017年9月19日 上午1:33:40
	 */
	int getMaxSortNo(String tableName);
	
	/**
	 * 更新序号
	 * @param sortEntity
	 * @return
	 * @author: solin
	 * @date: 2017年9月18日 下午10:24:56
	 */
	int updateSortNo(SortEntity sortEntity);
}
